Curriculum management system

ABSTRACT

Methods and systems, including computer program products, for use with a curriculum management system that manages a curriculum comprised of at least a course. The method includes scheduling a booking of the course for a learner; receiving input requesting a modification to the booking; determining whether the booking is an individual booking or a curriculum booking; and processing the modification based on whether the booking is an individual booking or a curriculum booking.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to U.S. Provisional Application No. 60/463,112 entitled Web Based Training Curriculum, filed on Apr. 15, 2003.

BACKGROUND

[0002] This application relates to data processing by digital computer, and more particularly to curriculum management.

[0003] Electronic learning systems (ELS) provide users with the ability to access course content directly from their computers, without the need for intermediaries, such as teachers, tutors, and the like. Such computer-based systems have proven attractive for precisely this reason.

[0004] Systems exist which allow users to book ELS training electronically. Once training has been booked, however, subsequent modifications to such bookings can lead to inconsistencies, particularly in more complex ELSs that manage different forms of training.

SUMMARY OF THE INVENTION

[0005] In general, in one aspect, the invention is directed to a computer program product, tangibly embodied in an information carrier, for use with a curriculum management system that manages a curriculum comprised of at least a course. The computer program product is operable to cause a data processing apparatus to perform operations that include scheduling a booking of the course for a learner; receiving input requesting a modification to the booking; determining whether the booking is an individual booking or a curriculum booking; and processing the modification based on whether the booking is an individual booking or a curriculum booking.

[0006] In general, in another aspect, the invention is directed to a method for use with a curriculum management system that manages a curriculum comprised of at least a course. The method includes scheduling a booking of the course for a learner; receiving input requesting a modification to the booking; determining whether the booking is an individual booking or a curriculum booking; and processing the modification based on whether the booking is an individual booking or a curriculum booking.

[0007] The foregoing aspects may include one or more of the following features:

[0008] The modification may comprise re-booking; and if the booking is a curriculum booking, processing the modification may comprise not re-booking the course.

[0009] The modification may comprise re-booking the course; and if the booking is an individual booking, processing the modification may comprise performing a consistency check with respect to other courses in the curriculum; and if the consistency check is successful, re-booking the course.

[0010] The modification may comprise canceling the course; and if the booking is a curriculum booking, processing the modification may comprise not canceling the course.

[0011] The modification may comprise canceling the course; and if the booking is a curriculum booking, processing the modification may comprise canceling the course, identifying other courses for which bookings are invalidated by canceling the course, and canceling the other courses.

[0012] The modification may comprise canceling the course; the course may belong to a sequence of courses within the curriculum; and if the booking is a curriculum booking, processing the modification may comprise canceling the course; and canceling any other courses that are later in the sequence than the course.

[0013] The modification may comprise follow-up; and if the booking is a curriculum booking, processing the modification may comprise not performing the follow-up until the entire curriculum has been completed.

[0014] The modification may comprise follow-up; and if the booking is a curriculum booking, processing the modification may comprise performing the follow-up even if the entire curriculum has not been completed.

[0015] Implementations of the invention may provide one or more of the following advantages. A curriculum management system in accordance with the invention may manage of different forms of training including courses and curriculums (groups of courses). Grouping courses into a single curriculum reduces administrative effort because the curriculum encapsulates the courses contained with the curriculum and enables actions on the curriculum level to be propagated automatically to the courses contained within the curriculum. At the same time, the curriculum management system may be customized to treat a curriculum booking like a course booking, thereby returning full control back to the administrator.

[0016] A curriculum management system in accordance with the invention may maintain consistency between the handling of curriculums and the handling of courses. Bookings may be cancelled, re-booked or followed-up without rendering other bookings inconsistent.

[0017] The details of one or more implementations of the curriculum management system are set forth in the accompanying drawings and the description below. Further features, aspects, and advantages of the curriculum management system will become apparent from the description, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018]FIG. 1 is a block diagram of a curriculum management system.

[0019]FIG. 2 is an example of a booking scenario associated with the curriculum management system.

[0020]FIG. 3 is an example of granularity settings associated with the curriculum management system.

[0021]FIG. 4 is a block diagram of an implementation of an ELS in which the curriculum management system may be used.

[0022]FIG. 5 is an example of an initial screen of a learning portal in the ELS.

[0023]FIG. 6 is an example of a booking modification screen that is accessible via the learning portal.

[0024] Like reference numbers and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

[0025]FIG. 1 shows a curriculum management system 100 for an ELS. The curriculum management system manages a set of courses 110, a set of curriculums 120, and a set of learners 130 in the ELS. A course constitutes training that provides instruction about a particular topic. Associated with each course is information specifying course constraints, such as course start and end dates, course prerequisites, and qualifications imparted by the course.

[0026] The set of courses 110 can include different types of courses including web-based courses, classroom courses, and on-the-job courses. An on-the-job course is a course that includes one or more work assignments and a required time interval for completing the work assignments. A classroom course is a live course that is given by an instructor in a fixed location at a fixed time. A web-based course is a course that is delivered over the Internet. With web-based courses, there is typically not a fixed location and there often is not a fixed time either. Examples of web-based courses include on-line tutorial programs and presentations.

[0027] A curriculum is a group of two or more courses selected from a set of courses managed by the system. Within the group, the courses are arranged in a sequence that determines the order in which the courses must be taken. Associated with each curriculum is information specifying the curriculum constraints, such as curriculum start and end dates, curriculum prerequisites, and qualifications imparted by the curriculum.

[0028] A learner is a user of the ELS that is authorized to book courses or curriculums managed by the curriculum management system. For each learner, the ELS maintains a learner profile that keeps track of the learner's bookings and the qualifications earned by the learner.

[0029] Curriculum management system 100 also includes a booking mechanism 140 for booking courses and curriculums and a booking modification mechanism 150 for making modifications to bookings.

[0030] Bookings

[0031] As shown in FIG. 2, an example booking scenario 200 involves a set of courses 210, a set of curriculums 220, and a set of learners 230. The set of courses 210 includes courses 240 which may only be taken as an individual course and courses 250 which may be taken either as an individual course as part of a curriculum. In this example, the Java course, namely course 250, may be taken individually or as part of a curriculum 225. Courses are “booked”, meaning that the courses are scheduled to be taken by a learner. Bookings can occur through a variety of methods. For example, a course may be booked electronically from a remote learning station, or via other means, such as by telephone.

[0032] The set of learners includes a first learner 260 and a second learner 270. In this scenario the first learner 260 books the Java course through an “individual booking”, meaning that the first learner books the Java course by itself, not as part of a curriculum. The second learner 270 also books the Java course, but through a “curriculum booking” for the curriculum 225, meaning that the second learner is taking the Java course as part of curriculum 225.

[0033] Booking Modifications

[0034] Once a booking has been made, it can be modified by cancellation, re-booking, or follow-up. Bookings may be modified electronically or via other means. Cancellation removes a booking from the schedule of bookings. Re-booking shifts or reschedules a booking to a different start date. Follow-up is a bookkeeping operation that is performed by an administrator once a course or curriculum has ended. During follow-up, any qualifications that are imparted by the course or curriculum are transferred to a learner profile of a learner that successfully completed the course or curriculum (the ELS, as described below, maintains learner profiles containing learner-specific information)

[0035] In some cases, the follow-up procedure is dependent on whether the learner that completed the course booked the course as a curriculum booking or as an individual booking. In the case of a curriculum booking, before performing a follow-up, the booking mechanism 140 may need to consider additional conditions that are not required for an individual booking. An example of such an additional condition is the successful completion of a final exam or project. That is, if the learner has not successfully completed a final exam or project, the learner may be denied an indication of successful completion in the learner's profile.

[0036] In one implementation, when a course is booked, the booking mechanism 140 creates an attendance link 280 (FIG. 2) that associates the learner with the booked course. For curriculum bookings, the system creates an attendance link 290 that associates the learner with the booked curriculum and additional attendance links (not illustrated) that associate the learner with each of the courses in the booked curriculum. An attendance link indicates a valid booking. An attendance link has a defined start and end date. For classroom courses, the start and end dates of the attendance link correspond to the start and end dates of the course. For web-based trainings, the start and end dates of the attendance link correspond to the period during which time the course content is available on the web. When booking a web-based course, the learner must indicate an intended start date and end date for his participate in the course. The system then checks to make sure that the participation dates fall within the period of availability of the course content.

[0037] The system uses the attendance links to identify all the bookings for a particular curriculum. For example, in one implementation, each attendance link has a curriculum participation ID field that indicates which curriculum the booking belongs to. If the booking is an individual booking, then the value of the field is null.

[0038] The system also uses the attendance links to keep track of a particular learner's training history. The system archives the attendance links for all courses completed by a particular learner. Each archived link can optionally store information about the learner's performance in the course (e.g., whether the course was successfully competed, or failed, etc.) The archived information can be used for purposes of reporting or documenting a learner's training history.

[0039] During the cancellation or follow-up process, attendance links are removed and archived. During the re-booking process, the system modifies the attendance link to point to a different occurrence of the same course or curriculum.

[0040] Potential Inconsistencies

[0041] Modifications to a booking without regard to whether the booking is an individual booking or a curriculum booking can render other bookings invalid. For example, suppose that in example scenario 200 of FIG. 2, after the bookings have been made, the booking modification mechanism 150 receives user input from both learners requesting a cancellation of their booking for the Java course, namely course 250. Suppose also that the Java course is a prerequisite to taking the rest of the curriculum 225. If the booking modification mechanism 150 were to handle both cancellation requests in the same manner, this would lead to inconsistencies because the two bookings in question have different constraints. That is, the booking for the first learner is an individual booking, while the booking for the second learner is a curriculum booking. In the latter case, canceling the booking for the Java course would render invalid the booking for the curriculum 225 because the second learner would no longer have the necessary prerequisite (i.e., the Java course) to take the rest of the curriculum 225.

[0042] To manage such potential inconsistencies, the booking modificatio mechanism 150 distinguishes between individual bookings and curriculum bookings, and handles them differently. Various implementations are possible. In one implementation, the booking modification mechanism permits booking modifications only for the curriculum as a whole (this is referred to as the “curriculum approach”). Under this approach, the requested cancellation made by the second learner in the above-described booking cancellation scenario would not be permitted by the booking modification mechanism. Under the curriculum approach, the only permissible way to cancel the booking of the Java course would be to cancel the booking to the curriculum 225 as a whole.

[0043] In some cases, the curriculum approach to cancellation may be too limiting. For example, in some cases, there may be no course prerequisites for the courses in the curriculum, so canceling a booking for one of the courses in the curriculum might not render the remaining bookings invalid.

[0044] Thus, alternatively, the booking modification mechanism 150 can be configured, e.g., by system administrators, to follow the curriculum approach for booking modifications or not to follow the curriculum approach. For each type of modification (e.g., cancellation, re-booking, or follow-up), the administrator decides whether to select the curriculum approach which allows booking modifications only for a curriculum as a whole but not for individual courses within the curriculum, or the individual approach which allows booking modifications to individual courses within a curriculum.

[0045] In one implementation, as illustrated in FIG. 3, the booking modification mechanism includes a granularity setting 310 that can be set to either the curriculum approach or the individual approach. As illustrated, the granularity setting can be configured differently for different types of modifications. For example, the granularity can be set to the curriculum approach for cancellations, but to the individual approach for re-bookings. Under this configuration, learners cannot cancel an individual course within a curriculum, but they can re-book the course to a different date. Other combinations are also possible, as shown.

[0046] The following describes how the booking modification mechanism performs each type of booking modification under the curriculum and individual approaches.

[0047] Cancellation

[0048] Under the curriculum approach, cancellation of bookings for individual courses within a curriculum is not permissible. Instead, the curriculum must be cancelled as a whole. By contrast, the individual approach has three variants (described below).

[0049] Under the first variant (called “Cancel Invalid Bookings”), in addition to performing a requested cancellation, booking modification mechanism 150 also performs additional cancellations to cancel any other bookings that are rendered invalid by performing the requested cancellation. This involves examining the bookings for other courses in the curriculum and checking for dependencies, for example, checking the qualifications imparted by the cancelled course against the prerequisites for the remaining courses. In this regard, each course in the ELS contains metadata that defines dependencies among the courses. In this variant, booking modification mechanism 150 examines the metadata of a target course to determine the courses that depend on the target course (i.e., the courses for which the target course is a prerequisite). Booking modification mechanism 150 in this manner identifies the courses that depend on the target course and cancels their bookings accordingly.

[0050] Under the second variant (Cancel To End), instead of examining the bookings (which can be time-consuming), booking modification mechanism 150 simply cancels any bookings for courses that are later in the curriculum sequence than the cancelled course. In this regard, a curriculum is defined by data that identifies, inter alia, the courses that make up the curriculum and the order in which those courses should be presented. As noted, individual metadata associated with a course may define dependencies. Data defining the curriculum may also keep track of dependencies among courses. In this case, booking modification mechanism 150 examines the data associated with a curriculum (and, if necessary, metadata associated with a course) to identify courses that are later in the curriculum sequence than the course targeted for cancellation.

[0051] Under the third variant, the requested cancellation is performed without performing any additional consistency measures. That is, the target course is simply cancelled without regard to dependencies. This approach could lead to inconsistencies in some cases (e.g., to cancelling a course upon which other courses in a curriculum depend), but it is made available as a configuration option because in some implementations of the ELS, there may be no dependencies among courses.

[0052] Re-Booking

[0053] Under the curriculum approach, re-booking of an individual course within a curriculum is not permissible. Instead, the curriculum must be re-booked as a whole.

[0054] Under the individual approach, individual re-bookings are permissible, but booking modification mechanism 150 first performs a consistency check before allowing the re-booking to occur. The consistency check involves checking the course dependencies to make sure that courses which must be taken prior to other courses in the curriculum have not be re-booked in a manner that violates the course dependencies. As noted above, individual course metadata and/or data that define a curriculum may be examined to determine dependencies among courses in a curriculum.

[0055] Follow-Up

[0056] Typically, for an individual booking, once the course is completed, the ELS performs follow-up (transfers, qualifications, etc.) immediately for each booking associated with the course. For curriculum bookings, the follow-up procedure involves performing follow-up at the curriculum-level and also at the course-level.

[0057] Follow-up at the curriculum-level involves transferring any qualifications that are imparted by successful completion of the curriculum. As discussed above, the successful completion of the curriculum may depend on additional conditions beyond successful completion of each course within the curriculum.

[0058] Follow-up at the course-level involves transferring any qualifications that are imparted by successful completion of the course. An issue that arises with respect to course-level follow-up is: Should the course-level follow-up for a particular course be performed as soon as the course is completed, or should the follow-up be deferred until all remaining courses in the curriculum have been completed?

[0059] Under the curriculum approach, the booking modification mechanism 150 determines whether the learner booked the course as an individual booking or as a curriculum booking. If the booking is an individual booking, booking modification mechanism 150 performs follow-up without waiting for completion of other courses. If the booking is a curriculum booking, booking modification mechanism 150 defers follow-up until the entire curriculum (or some portion thereof) is complete. For curriculum bookings, booking modification mechanism 150 performs follow-up at both the curriculum-level and at the course-level (e.g., performing curriculum-level follow-up before performing course-level follow-up). What this means is that booking modification mechanism 150 updates a learner's profile, e.g., to reflect successful completion of both a curriculum and a course within that curriculum. Other information may also be updated.

[0060] Under the individual approach, booking modification mechanism 150 does not defer course-level follow-up for curriculum bookings. Instead, all bookings (curriculum or individual) can be followed-up right away at the course-level, and then for the curriculum bookings, an additional follow-up occurs at the curriculum-level once the entire curriculum is completed.

[0061] The booking modification mechanism 150 can be configured with respect to whether the curriculum approach or the individual approach is used for the follow-up procedure.

[0062] The above-described techniques have been described in the context of a curriculum management system for an ELS. In addition to the curriculum management system, the ELS generally includes other systems as well, for example, an authoring system for creating course content, a content management system for storing created content, and/or a player system for delivering course content. One such ELS is the Learning Solution® available from SAP® AG of Walldorf, Germany.

[0063]FIG. 4 shows one implementation 400 of an ELS in which the curriculum management techniques described herein may be used. In this implementation, the ELS includes a learning system 420 and a learning station 410 through which a learner accesses the learning system 420.

[0064] Learning System

[0065] The learning system 420 includes a learning management system 423 and an administration management system 427. An administrator accesses the administration management system through an administration station 430. Although a single learning station and administration station are shown, many such stations may be provided.

[0066] Administration management system 427 includes a database that stores training materials (e.g., courses and curriculums) and information about the training materials, such as descriptions of the courses and curriculums. This information may be represented in the form of a training catalog, for example.

[0067] Administration management system 427 also includes a database of learner accounts. Each learner account includes demographic data about the learner (e.g., name, address, account number), booking information for one or more courses and/or curriculums, and a learner profile that records tests completed, skills and knowledge acquired, qualifications completed for courses and/or curriculums within the ELS. In one implementation, the administration management system is implemented using the SAP® R/3 Server, Release 4.6C extended with the Learning Solution® plug-in, available from SAP® AG of Walldorf, Germany.

[0068] Learning management system 423 includes mechanisms for presenting training materials to the learner. One such mechanism is a content player that retrieves training material from a content repository of a content management system (not shown). The content player also applies a learner-selectable learning strategy to the obtained training material to generate a navigation tree or path for the learner. The navigation tree or path is used to suggest a route through training material for the learner and to generate a presentation of training material to the learner. The content player can be implemented using a J2EE Engine such as the SAP® J2EE Engine.

[0069] Learning management system 423 exchanges information with administration management system 427 through a communication link 421. The exchange information can include information that updates the learner account information as the learner progresses through the training material to indicate, for example, competencies gained, tests passed, and training completed via the ELS.

[0070] Learning Station

[0071] Learning station 420 includes software that accesses, interprets, and presents training materials and associated information to a learner. Learning station 420 allows a learner to interact with the materials and with other aspects of the ELS. A browser running on the learning station communicates with learning system 410 through communication link 421. The browser displays a learning portal (i.e., a user interface, which is described below with respect to FIG. 5) through which users can access learning system 410. The browser can be any software application that interprets and processes a markup language, such as Hypertext Markup Language (HTML), Standard Generalized Markup Language (SGML), Dynamic Hypertext Markup Language (DHTML), Extensible Markup Language (XML), or Extensible Hypertext Markup Language (XHTML). The functionality of the browser can be extended using a software plug-in that allows the browser to interpret, process, and present different types of information. Examples of such plug-ins are Java, Active X, JavaScript, and Flash plug-ins.

[0072] A station 430 includes similar elements as the learning station. Such elements allow the administration station to interact with administration management system 427.

[0073] Learning Portal

[0074]FIG. 5 illustrates an initial screen 500 for the learning portal. Initial screen 500 includes a title bar 501, a menu bar 505, and a tool bar 507. In addition, initial screen 500 includes a number of sections, including a message and notes section 510, a current activities section 520, a Top 10 List section 530, and a navigation section 540.

[0075] Message and notes window 510 section provides access to information about training provided via the ELS. For example, an employer may use the messages and notes section to distribute company-wide information about training to all employees. Messages and notes section 510 also may be used by the employer to determine whether an employee has received, read, and/or confirmed receipt of information about training. For example, administration management system 427 may determine when a message is delivered to an employee, when an employee accesses a note or message using message and notes section 510, and/or when an employee confirms or acknowledges receipt of a message.

[0076] Message and notes section 510 includes a mandatory trainings section containing training that is prescribed for the learner, a qualifications section displaying essential requirements for the learner (e.g., related to a learner's job description), and an area displaying scheduled dates of training for which the employee is prebooked (not shown).

[0077] Current training activities section 520 provides the learner with detailed information on personal training activities that are planned and/or are currently in process. Current training activities may include, but are not limited to, training that the learner has booked for a fixed date in the future (e.g., classroom training) and training that the learner has booked that has no scheduled training date (e.g., Web-based training). The learner also may start an active Web-based training by selecting a “Start Now” hyperlink (not shown). Depending on the type of training, the current training activities section may display training details (e.g., information from the training catalog) or details about a scheduled training (e.g., participant list or training location).

[0078] The Top 10 section 530 displays a list of the training most frequently booked using the ELS. Optionally, Top 10 section also displays a specialized training list that lists training specific to a particular company, university, or organization.

[0079] Navigation section 540 displays controls for navigating through the learning portal. The navigation section includes links to a search tool 550, the training catalog 560, and the learner account 570. Navigation section 540 may also include links to other screens accessible via the learning portal.

[0080] The search tool 550 is used to search for training using a keyword contained in a title or a description of the training. The search function may be used to find a training without having to browse through the training catalog. For example, if a learner wants to improve his or her knowledge of English, the learner may enter the keyword English and start a search. A resulting hit list (not shown) displays all training and delivery methods found that have the keyword English in the training title or description. The learner may select a training from the hit list and display further details about the training, such as training dates or prerequisite qualifications for the training.

[0081] The search tool includes an extended search feature that may be used to restrict the search criteria, for example, whether the keyword search should be executed for the training title or the training description. The learning interface may be automatically configured to display the extended search hyperlink if the search results contain more than a predetermined number of entries (e.g., more than 20 entries).

[0082] The training catalog (not shown) allows a learner to navigate through any training offered by the ELS. Training may be provided using several different delivery methods, such as online learning or classroom training. As described above, the learner may use the search features to find a specific training in the catalog.

[0083] Training may also be accessed from the list of subject areas in navigation section 540 and from the overall view provided by the training catalog. Subject areas constitute a thematic structuring of the offered trainings. The use of subject areas enables the training to be structured thematically rather than hierarchically and thus present a picture of the overall structure of the trainings. The learner may access a detailed screen (not shown) of a subject area and training.

[0084]FIG. 6 illustrates a booking modification screen 600 which constitutes part of the learning portal. In FIG. 6, the modification being illustrated is cancellation of an individual course booking 610 within a curriculum booking 620. The course booking 610 is cancelled by deselecting a check box 630 correlated with the course booking 610. Through such screens, learners can place bookings and modify bookings without administrative intervention. Processes for placing and modifying bookings are described herein above. Alternatively, an administrator may place a booking or modify a booking on behalf of a learner. Administrators may use the same, or different, processes as learners to place or modify a booking.

[0085] The curriculum management system can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The curriculum management system can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

[0086] Method steps associated with the curriculum management system can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0087] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM (Erasable Programmable Read-only Memory), EEPROM (Electrically Erasable Programmable Read-only Memory), and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; CD-ROMs (Compact Disc Read-only Memory) and DVD-ROMs (Digital Versatile Disc Read-only Memory). The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.

[0088] To provide for interaction with a user, the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0089] The curriculum management system can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the invention, or any combination of such back-end, middleware, or front-end components. The components of the computing system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.

[0090] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

[0091] The curriculum management system has been described in terms of particular embodiments. Other embodiments are within the scope of the following claims. For example, although the curriculum management system has been described as a component of a larger electronic learning system, it can also be implemented in other systems or as a stand-alone system. 

What is claimed is:
 1. A computer program product, tangibly embodied in an information carrier, for use with a curriculum management system that manages a curriculum comprised of at least a course, the computer program product being operable to cause data processing apparatus to perform operations comprising: scheduling a booking of the course for a learner; receiving input requesting a modification to the booking; determining whether the booking is an individual booking or a curriculum booking; and processing the modification based on whether the booking is an individual booking or a curriculum booking.
 2. The product of claim 1, wherein: the modification comprises re-booking; and if the booking is a curriculum booking, processing the modification comprises not re-booking the course.
 3. The product of claim 1, wherein: the modification comprises re-booking the course; and if the booking is an individual booking, processing the modification comprises: performing a consistency check with respect to other courses in the curriculum; and if the consistency check is successful, re-booking the course.
 4. The product of claim 1, wherein: the modification comprises canceling the course; and if the booking is a curriculum booking, processing the modification comprises not canceling the course.
 5. The product of claim 1, wherein: the modification comprises canceling the course; and if the booking is a curriculum booking, processing the modification comprises: canceling the course; identifying other courses for which bookings are invalidated by canceling the course; and canceling the other courses.
 6. The product of claim 1, wherein: the modification comprises canceling the course; the course belongs to a sequence of courses within the curriculum; and if the booking is a curriculum booking, processing the modification comprises: canceling the course; and canceling any other courses that are later in the sequence than the course.
 7. The product of claim 1, wherein: the modification comprises follow-up; and if the booking is a curriculum booking, processing the modification comprises: not performing the follow-up until the entire curriculum has been completed.
 8. The product of claim 1, wherein: the modification comprises follow-up; and if the booking is a curriculum booking, processing the modification comprises: performing the follow-up even if the entire curriculum has not been completed.
 9. A method for use with a curriculum management system that manages a curriculum comprised of at least a course, the method comprising: scheduling a booking of the course for a learner; receiving input requesting a modification to the booking; determining whether the booking is an individual booking or a curriculum booking; and processing the modification based on whether the booking is an individual booking or a curriculum booking.
 10. The method of claim 9, wherein: the modification comprises re-booking; and if the booking is a curriculum booking, processing the modification comprises not re-booking the course.
 11. The method of claim 9, wherein: the modification comprises re-booking the course; and if the booking is an individual booking, processing the modification comprises: performing a consistency check with respect to other courses in the curriculum; and if the consistency check is successful, re-booking the course.
 12. The method of claim 9, wherein: the modification comprises canceling the course; and if the booking is a curriculum booking, processing the modification comprises not canceling the course.
 13. The method of claim 9, wherein: the modification comprises canceling the course; and if the booking is a curriculum booking, processing the modification comprises: canceling the course; identifying other courses for which bookings are invalidated by canceling the course; and canceling the other courses.
 14. The method of claim 9, wherein: the modification comprises canceling the course; the course belongs to a sequence of courses within the curriculum; and if the booking is a curriculum booking, processing the modification comprises: canceling the course; and canceling any other courses that are later in the sequence than the course.
 15. The method of claim 9, wherein: the modification comprises follow-up; and if the booking is a curriculum booking, processing the modification comprises: not performing the follow-up until the entire curriculum has been completed.
 16. The method of claim 9, wherein: the modification comprises follow-up; and if the booking is a curriculum booking, processing the modification comprises: performing the follow-up even if the entire curriculum has not been completed. 